import pandas as pd
from datetime import datetime
import random
import numpy as np
t1 = datetime(2019,10,30)
print(t1)
#赋值方式产生时间
date_list = [
    datetime(2016,9,10),
    datetime(2016,9,1),
    datetime(2016,10,10),
    datetime(2016,9,20),
    datetime(2017,9,10)]
# print(date_list)
s1 = pd.Series(np.random.rand(5),index=date_list)
print(s1)
print(f'序列的值{s1.values}')
print(f'序列的索引{s1.index}')
print(s1[1])#通过下标访问
print(s1[datetime(2016,10,10)])#通过datetime访问
print(s1['20161010'])#'字符串方式'
print(s1['2016-10-10'])#时间方式
print(s1['2016-09'])#返回2016年9月所有数据
print(s1['2016'])#返回2016年所有数据
date_list_new = pd.date_range('2016-01-01','2016-10-10')#一段时间范围内的数据方法,间隔一天freq='D'
print(f'一段时间范围内取值{date_list_new}')
date_list_new1 = pd.date_range('2016-01-01','2016-10-10',freq='w')#系统默认一周的开始是周日
print(f'一段时间范围内取值按照周间隔{date_list_new1 }')
date_list_new2 = pd.date_range('2016-01-01','2016-10-10',freq='w-Mon')#改成从周一开始,如果freq=H意味着间隔是1小时，如果freq=5H意味着间隔是5小时
print(f'一段时间范围内取值按照周间隔{date_list_new2 }')
s2 = pd.Series(np.random.rand(41),index=date_list_new2)
print(s2)
#将各种日期字符串转换成日期格式
df = pd.DataFrame({
    '原日期':['14-Feb-20','02/14/2020','2020.02.14','2020/2/14']
})
df['转换后的日期'] = pd.to_datetime(df['原日期'])
print(df)
#从多列中组合成一个日期
df1 = pd.DataFrame({
    'year':[2018,2019,2020],
    'month':[1,2,3],
    'day':[10,20,30],
    'hour':[13,14,15],
    'minute':[19,30,40],
    'second':[9,8,7]

})
df1['组合后的日期'] = pd.to_datetime(df1)
print(df1)